--[[
随机上滑函数
功能：模拟用户随机上滑操作，带有自然的随机性
参数：无
返回值：布尔值，表示是否成功执行了上滑操作
--]]

local 滑动坐标 = require("basic_operations.滑动坐标")
local 获取屏幕分辨率 = require("screen_and_resolution.获取屏幕分辨率")
local 计算滑动参数 = require("screen_and_resolution.计算滑动参数")

function 随机上滑()
    -- 获取屏幕分辨率
    local 屏幕宽度, 屏幕高度 = 获取屏幕分辨率()
    local 参数 = 计算滑动参数(屏幕宽度, 屏幕高度)
    
    -- 原有的滑动逻辑保持不变
    local x起点 = 参数.中心x
    local x终点 = x起点 + math.random(-参数.x轴随机范围, 参数.x轴随机范围)
    local y起点 = 参数.底部y
    local y终点 = 参数.顶部y
    
    -- 添加随机偏移
    local x偏移范围 = math.floor(屏幕宽度 * 0.05)
    local y偏移范围 = math.floor(屏幕高度 * 0.05)
    
    x起点 = x起点 + math.random(-x偏移范围, x偏移范围)
    x终点 = x终点 + math.random(-x偏移范围, x偏移范围)
    y起点 = y起点 + math.random(-y偏移范围, y偏移范围)
    y终点 = y终点 + math.random(-y偏移范围, y偏移范围)
    
    -- 确保坐标在安全范围内
    x起点 = math.max(参数.安全边距, math.min(x起点, 屏幕宽度 - 参数.安全边距))
    x终点 = math.max(参数.安全边距, math.min(x终点, 屏幕宽度 - 参数.安全边距))
    y起点 = math.max(参数.顶部y, math.min(y起点, 参数.底部y))
    y终点 = math.max(参数.顶部y, math.min(y终点, 参数.底部y))
    
    -- 计算滑动时间
    local 基础滑动时间 = math.floor(屏幕高度 * 0.3)
    local 滑动时间 = math.random(基础滑动时间, 基础滑动时间 * 1.5)
    
    -- 调试信息简化
    print("滑动中...")
    
    -- 执行滑动操作
    滑动坐标(x起点, y起点, x终点, y终点, 滑动时间)
    
    -- 滑动后停顿时间
    local 停顿时间 = math.random(800, 1200)
    sleep(停顿时间)
    
    return true
end

return 随机上滑 